Ubuntu系统下给SD卡分区、格式化 您所在的位置:网站首页 tf卡 随机读写 性能好 Ubuntu系统下给SD卡分区、格式化

Ubuntu系统下给SD卡分区、格式化

2024-07-02 01:24| 来源: 网络整理| 查看: 265

参考:看完就明白/dev/sda、/dev/hda是什么了 - 知乎 (zhihu.com)

在嵌入式开发中有时需要通过SD卡来启动linux系统,ubuntu系统提供了一些工具来进行SD卡的分区和格式化。

系统:Ubuntu 22.04.3 LTS

命令行工具fdisk等 查看磁盘设备文件

首先需要确定SD卡对应的磁盘设备文件,可以通过以下命令查看:

sudo fdisk -l white@ubuntu:~$ sudo fdisk -l Disk /dev/loop0: 349.7 MiB, 366682112 bytes, 716176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes ... Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 9768959 9766912 4.7G c W95 FAT32 (LBA) /dev/sdc2 9768960 19535871 9766912 4.7G 83 Linux lsblk white@ubuntu:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 349.7M 1 loop /snap/gnome-3-38-2004/143 ... sda 8:0 0 150G 0 disk └─sda1 8:1 0 150G 0 part / sdc 8:32 1 31.3G 0 disk ├─sdc1 8:33 1 4.7G 0 part /media/white/BOOT └─sdc2 8:34 1 4.7G 0 part /media/white/ROOTFS sr0 11:0 1 1024M 0 rom

比如上面例子中的的/dev/sdc就是SD卡对应的磁盘设备文件,后面的1、2代表分区。

磁盘是一种计算机的外部存储器设备,主要可以分为以下几类:

IDE磁盘:价格低廉,兼容性强,性价比高,但是数据传输慢,不支持热插拔等。SCSI磁盘:传输速率高,读写性能好,运行稳定,可连接多个设备,支持热插拔,占用CPU低,但是价格相对较贵,一般用于工作站或服务器上。SATA磁盘:结构简单、支持热插拔。

Linux中硬盘以及分区等设备均表示为文件,其命名规则如下:

IDE磁盘的文件名为:/dev/hdxxSCSI/SATA/USB磁盘文件名为:/dev/sdxx

在这里插入图片描述

在Linux系统中,磁盘设备文件的命名方式通常遵循一定的规则。对于"sd",这是"SCSI disk"的缩写。尽管最初是为SCSI(Small Computer System Interface)设备设计的,但在Linux中,sd"设备命名约定被广泛用于表示各种类型的块设备,包括SATA(Serial ATA)硬盘、SAS(Serial Attached SCSI)硬盘以及一些其他类型的块设备。因此,"sd"实际上成为了一种通用的、用于表示块设备的前缀,而不仅限于SCSI。

使用fdisk分区

ubuntu下可以使用的命令工具主要有fdisk和parted,这里主要介绍fdisk。

还是以上面的/dev/sdc为例继续介绍,分区前需要取消SD卡的挂载。

white@ubuntu:~$ sudo umount /dev/sdc1 white@ubuntu:~$ sudo umount /dev/sdc2

进入fdisk交互界面:

white@ubuntu:~$ sudo fdisk /dev/sdc Welcome to fdisk (util-linux 2.31.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):

输入命令p可以查看当前分区信息:

Command (m for help): p Disk /dev/sdc: 31.3 GiB, 33607909376 bytes, 65640448 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xb839501e Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 9768959 9766912 4.7G c W95 FAT32 (LBA) /dev/sdc2 9768960 19535871 9766912 4.7G 83 Linux

输入命令d可以删除已有分区:

Command (m for help): d Partition number (1,2, default 2): Partition 2 has been deleted. Command (m for help): d Selected partition 1 Partition 1 has been deleted. Command (m for help): d No partition is defined yet! Could not delete partition 94216366571289

输入命令n创建新分区:

Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): Using default response p. Partition number (1-4, default 1): First sector (2048-65640447, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-65640447, default 65640447): +5000M Created a new partition 1 of type 'Linux' and of size 4.9 GiB. Partition #1 contains a vfat signature. Do you want to remove the signature? [Y]es/[N]o: Y The signature will be removed by a write command. 分区顺序号一般默认就行了。一般只分配1-2个分区的话,默认主分区就行,关于主分区与拓展分区的区别,可以阅读看完就明白/dev/sda、/dev/hda是什么了 - 知乎 (zhihu.com)。First sector (2048-65640447, default 2048) 表示默认的分区起始位置(扇区号)是2048号扇区,即1MB(2048x512)大小的位置。 这个默认值确保了硬盘上的分区在1MB的边界上对齐,以最大程度地提高性能。 这里通过+5000M给1分区分配了5000MB的大小,如果单纯输入数字的话就是扇区数(1扇区包括512字节)。这里删除了已有的分区标签,下面可以重新设置。

输入命令t设置分区标签类型:

Command (m for help): t Selected partition 1 Hex code (type L to list all codes):

提示可以输入L来查看可以采用的标签码:

Hex code (type L to list all codes): L 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT- 4 FAT16


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有